import matplotlib.pyplot as plt
from random_walk import *

while True:
    # 创建⼀个 RandomWalk 实例
    # rw = RandomWalk()
    rw = RandomWalk(50_000)
    rw.fill_walk()

    # 将所有的点都绘制出来
    plt.style.use('classic')
    # fig, ax = plt.subplots()
    fig, ax = plt.subplots(figsize=(30, 20))

    # 根据数值大小给离散点着色
    point_numbers = range(rw.num_points)
    ax.scatter(rw.x_values, rw.y_values, c=point_numbers,
               cmap="Blues",
               edgecolors='none',
               s=15)
    # ax.plot(rw.x_values, rw.y_values,
    #         color='blue', linewidth=3)

    ax.set_aspect('equal')
    # 突出起点和终点
    ax.scatter(0, 0, c='green', edgecolors='none', s=100)
    ax.scatter(rw.x_values[-1], rw.y_values[-1], c='red',
               edgecolors='none',
               s=100)

    # 隐藏坐标轴
    ax.get_xaxis().set_visible(False)
    ax.get_yaxis().set_visible(False)

    plt.show()

    keep_running = input("Make another walk? (y/n): ")
    if keep_running == 'n':
        break
